#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//struct S
//{
//	int a;
//	char c;
//	double d;
//};
//#define OFFSETOF(type,name)  (size_t)&(((type*)0)->name)
//int main()
//{
//	struct S s;
//	printf("%d\n", OFFSETOF(struct S, a));
//	printf("%d\n", OFFSETOF(struct S, c));
//	printf("%d\n", OFFSETOF(struct S, d));
//	return 0;
//
//}
#define SWAP_BIT(x)  (x=(((x&0x55555555)<<1)+((x&0xaaaaaaaa)>>1)))
int main()
{
	int a = 5;
	SWAP_BIT(a);
	printf("%d\n", a);
	return 0;

}